home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ Users Group Library 1996 July
/
C-C++ Users Group Library July 1996.iso
/
listings
/
v_06_04
/
v6n4053c.txt
< prev
next >
Wrap
Text File
|
1989-09-26
|
757b
|
41 lines
#include "q2.h"
#define TEST 1
#ifdef TEST
#define cksig(x) if(qpt->sigword!=0x756)exit();
#else
#define chsig(x)
#endif
static struct q_strct {
qele_type queue[q_MAX];
int next_in ;
int next_out;
int sigword ;
} q1, q2;
/* now initialization must be explicit */
void q_init(qpt)
struct q_strct *qpt;
{
qpt->next_in = 0;
qpt->next_out = 0;
qpt->sigword = 0x576;
}
/* fetch an item from the queue */
qele_type q_get(qpt)
struct q_strct *qpt;
{
qele_type rval;
cksig(qpt);
/* first test to see if there is an item */
if (qpt->next_in == qpt->next_out) return EMPTY;
qele_cpy(rval, qpt->queue[qpt->next_out++]);
(qpt->next_out) &= q_WRAP;
return rval;
}